Technological advances in computer hardware, software and networking have lead to increased demand to exchange information electronically rather than through conventional techniques such as paper and telephone correspondence, for example. Electronic communication can provide split-second, reliable data transfer between essentially any two locations throughout the world. Many industries and consumers are leveraging such technology to improve efficiency and decrease cost through web-based (e.g., on-line) services. For example, consumers can purchase goods, review bank statements, research products and companies, obtain real-time stock quotes, download brochures, etc. with the click of a mouse and at the convenience of home.
As the amount available electronic data grows, it becomes more important to store such data in a manageable manner that facilitates user friendly and quick data searches and retrieval. Today, a common approach is to store electronic data in one or more databases. In general, a typical database can be referred to as an organized collection of information with data structured such that a computer program, for example, can quickly search and select desired pieces of data. Traditionally, data within a database is organized via one or more tables, wherein respective tables comprise a set of records and a record comprises a set of fields. Records are commonly indexed as rows within a table and the record fields are commonly indexed as columns such that a row/column pair of indices can reference a particular datum within a table.
Data stored in a database often includes personal (e.g., bank account and social security numbers) and sensitive information (e.g., medical records) and may not be backed up via hard copies. Therefore, security related to databases and data stored therein is growing in importance. However, many of today's database security techniques can be breached, for example, through software holes and/or by hackers with malicious intent.